package cn.tedu.oop;
/*本类用于测试多态成员的使用情况*/
public class TestDemo2 {
    public static void main(String[] args) {
        Dog2 d=new Dog2();
        System.out.println(d.sum);
        d.eat();

        //创建多态对象
        Animal2 a=new Dog2();
        /*多态中,成员变量使用的是父类的*/
        System.out.println(a.sum);
        /*多态中,方法的声明使用的是父类的,方法体使用的是子类的*/
        a.eat();
        /*多态中,调用的静态方法是父类的,因为多态对象把自己看作是父类类型,
        直接使用父类的静态资源*/
        a.play();//静态方法,要类名点出来
        Animal2.play();
        /*静态不存在重写的概念*/

    }
}
class Animal2{
    int sum=10;
    public void eat(){
        System.out.println("吃啥都行~");
    }
    public static void play(){
        System.out.println("玩啥都行~");
    }
}
class Dog2 extends Animal2{
     int sum=20;
     @Override
    public void eat(){
        System.out.println("小狗爱吃肉包子");

    }
    /*这不是一个重写的方法,只是恰巧在两个类中出现了一模一样的两个静态方法
    * 注意"静态方法也属于静态资源,静态资源是属于类的,只有一份
    * 在哪个类里定义,就作为哪个类的资源使用,不存在重写的现象*/
// @Override
    public static void play(){
        System.out.println("玩啥都行~");
    }
}